Exo 2 : Distribution des langues au Bénin en 2013 (AFC-CAH)

Author

France Guérin-Pace

Introduction

Le but de cet exercice est :

  1. De montrer les commandes R permettant de réaliser une Analayse Factorielle des Correspondances (AFC) sous R
  2. D’apprendre à interpréter les résultats de cette AFC
  3. De compléter l’analyse par une Classification Ascendante Hiérarchique sur les axes de l’AFC.

En préalable à cet exercice il est indispensable d’avoir bien maîtrisé les fondements théoriques des deux méthodes d’AFC et de CAH en métrique du chi-2. Ces enseignements n’étant pas détaillé sur le présent site, nous recommandons de se reporter au MOOC de cours de François Husson en suivant les liens suivants

DONNEES

On charge un tableau décrivant le nombre de personnes parlant une langue ou un groupe de langues en 2002. Les chiffres sont exprimés en milliers et les valeurs arrondies.

Tableau de données original
admin1Pcod admin1 Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres
BJ01 Alibori 16 0 10 177 94 5 0 214 5
BJ02 Atacora 27 0 16 280 38 143 5 33 5
BJ03 Atlantique 489 56 80 40 32 24 16 32 32
BJ04 Borgou 51 7 58 275 210 29 14 65 14
BJ05 Collines 150 11 273 0 32 27 27 0 16
BJ06 Couffo 52 441 26 0 5 0 0 0 0
BJ07 Donga 18 0 11 21 35 0 112 151 4
BJ08 Littoral 319 40 120 53 20 27 7 33 47
BJ09 Mono 76 227 22 4 18 4 0 4 7
BJ10 Oueme 519 22 110 0 29 22 0 7 22
BJ11 Plateau 85 28 273 0 12 8 0 0 0
BJ12 Zou 546 24 18 0 6 0 0 0 6

Source : Amadou Sanni, 2002

Tableau de contingence (Nij)

On crée un tableau de contingence formant une matrice, c’est-à-dire que l’on ne garde que les variables quantitatives dont on peut effectuer les totaux en ligne et en colonnes.

Tableau de contingence (Nij)
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 16 0 10 177 94 5 0 214 5 521
Atacora 27 0 16 280 38 143 5 33 5 547
Atlantique 489 56 80 40 32 24 16 32 32 801
Borgou 51 7 58 275 210 29 14 65 14 723
Collines 150 11 273 0 32 27 27 0 16 536
Couffo 52 441 26 0 5 0 0 0 0 524
Donga 18 0 11 21 35 0 112 151 4 352
Littoral 319 40 120 53 20 27 7 33 47 666
Mono 76 227 22 4 18 4 0 4 7 362
Oueme 519 22 110 0 29 22 0 7 22 731
Plateau 85 28 273 0 12 8 0 0 0 406
Zou 546 24 18 0 6 0 0 0 6 600
Sum 2348 856 1017 850 531 289 181 539 158 6769

Profils en ligne (Nij/Ni.)

On crée un tableau de profils en ligne :

Profils en ligne (Nij/Ni.) en %
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 3.1 0.0 1.9 34.0 18.0 1.0 0.0 41.1 1.0 100
Atacora 4.9 0.0 2.9 51.2 6.9 26.1 0.9 6.0 0.9 100
Atlantique 61.0 7.0 10.0 5.0 4.0 3.0 2.0 4.0 4.0 100
Borgou 7.1 1.0 8.0 38.0 29.0 4.0 1.9 9.0 1.9 100
Collines 28.0 2.1 50.9 0.0 6.0 5.0 5.0 0.0 3.0 100
Couffo 9.9 84.2 5.0 0.0 1.0 0.0 0.0 0.0 0.0 100
Donga 5.1 0.0 3.1 6.0 9.9 0.0 31.8 42.9 1.1 100
Littoral 47.9 6.0 18.0 8.0 3.0 4.1 1.1 5.0 7.1 100
Mono 21.0 62.7 6.1 1.1 5.0 1.1 0.0 1.1 1.9 100
Oueme 71.0 3.0 15.0 0.0 4.0 3.0 0.0 1.0 3.0 100
Plateau 20.9 6.9 67.2 0.0 3.0 2.0 0.0 0.0 0.0 100
Zou 91.0 4.0 3.0 0.0 1.0 0.0 0.0 0.0 1.0 100

Profils en colonne (Nij/N.j)

On crée un tableau de profils en colonne :

Profils en colonnes (Nij/N.j) en %
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres
Alibori 0.7 0.0 1.0 20.8 17.7 1.7 0.0 39.7 3.2
Atacora 1.1 0.0 1.6 32.9 7.2 49.5 2.8 6.1 3.2
Atlantique 20.8 6.5 7.9 4.7 6.0 8.3 8.8 5.9 20.3
Borgou 2.2 0.8 5.7 32.4 39.5 10.0 7.7 12.1 8.9
Collines 6.4 1.3 26.8 0.0 6.0 9.3 14.9 0.0 10.1
Couffo 2.2 51.5 2.6 0.0 0.9 0.0 0.0 0.0 0.0
Donga 0.8 0.0 1.1 2.5 6.6 0.0 61.9 28.0 2.5
Littoral 13.6 4.7 11.8 6.2 3.8 9.3 3.9 6.1 29.7
Mono 3.2 26.5 2.2 0.5 3.4 1.4 0.0 0.7 4.4
Oueme 22.1 2.6 10.8 0.0 5.5 7.6 0.0 1.3 13.9
Plateau 3.6 3.3 26.8 0.0 2.3 2.8 0.0 0.0 0.0
Zou 23.3 2.8 1.8 0.0 1.1 0.0 0.0 0.0 3.8
Sum 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0

Profil total (Nij/N..)

On crée un tableau de profils en colonne :

Part du total (Nij/N..) en %
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 0.2 0.0 0.1 2.6 1.4 0.1 0.0 3.2 0.1 7.7
Atacora 0.4 0.0 0.2 4.1 0.6 2.1 0.1 0.5 0.1 8.1
Atlantique 7.2 0.8 1.2 0.6 0.5 0.4 0.2 0.5 0.5 11.8
Borgou 0.8 0.1 0.9 4.1 3.1 0.4 0.2 1.0 0.2 10.7
Collines 2.2 0.2 4.0 0.0 0.5 0.4 0.4 0.0 0.2 7.9
Couffo 0.8 6.5 0.4 0.0 0.1 0.0 0.0 0.0 0.0 7.7
Donga 0.3 0.0 0.2 0.3 0.5 0.0 1.7 2.2 0.1 5.2
Littoral 4.7 0.6 1.8 0.8 0.3 0.4 0.1 0.5 0.7 9.8
Mono 1.1 3.4 0.3 0.1 0.3 0.1 0.0 0.1 0.1 5.3
Oueme 7.7 0.3 1.6 0.0 0.4 0.3 0.0 0.1 0.3 10.8
Plateau 1.3 0.4 4.0 0.0 0.2 0.1 0.0 0.0 0.0 6.0
Zou 8.1 0.4 0.3 0.0 0.1 0.0 0.0 0.0 0.1 8.9
Sum 34.7 12.6 15.0 12.6 7.8 4.3 2.7 8.0 2.3 100.0

TEST DU CHI-2

Le tableau étant un tableau de contingence, on peut effectuer sur celui-ci un test du chi-2.


    Pearson's Chi-squared test

data:  tab
X-squared = 12332, df = 88, p-value < 2.2e-16

Valeurs théoriques

Valeurs théoriques N*ij = (Nij x N.j) /N..
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 180.7 65.9 78.3 65.4 40.9 22.2 13.9 41.5 12.2 521
Atacora 189.7 69.2 82.2 68.7 42.9 23.4 14.6 43.6 12.8 547
Atlantique 277.8 101.3 120.3 100.6 62.8 34.2 21.4 63.8 18.7 801
Borgou 250.8 91.4 108.6 90.8 56.7 30.9 19.3 57.6 16.9 723
Collines 185.9 67.8 80.5 67.3 42.0 22.9 14.3 42.7 12.5 536
Couffo 181.8 66.3 78.7 65.8 41.1 22.4 14.0 41.7 12.2 524
Donga 122.1 44.5 52.9 44.2 27.6 15.0 9.4 28.0 8.2 352
Littoral 231.0 84.2 100.1 83.6 52.2 28.4 17.8 53.0 15.5 666
Mono 125.6 45.8 54.4 45.5 28.4 15.5 9.7 28.8 8.4 362
Oueme 253.6 92.4 109.8 91.8 57.3 31.2 19.5 58.2 17.1 731
Plateau 140.8 51.3 61.0 51.0 31.8 17.3 10.9 32.3 9.5 406
Zou 208.1 75.9 90.1 75.3 47.1 25.6 16.0 47.8 14.0 600
Sum 2348.0 856.0 1017.0 850.0 531.0 289.0 181.0 539.0 158.0 6769

Résidus absolus

Résidus absolus (Nij - N*ij)
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori -164.7 -65.9 -68.3 111.6 53.1 -17.2 -13.9 172.5 -7.2 0
Atacora -162.7 -69.2 -66.2 211.3 -4.9 119.6 -9.6 -10.6 -7.8 0
Atlantique 211.2 -45.3 -40.3 -60.6 -30.8 -10.2 -5.4 -31.8 13.3 0
Borgou -199.8 -84.4 -50.6 184.2 153.3 -1.9 -5.3 7.4 -2.9 0
Collines -35.9 -56.8 192.5 -67.3 -10.0 4.1 12.7 -42.7 3.5 0
Couffo -129.8 374.7 -52.7 -65.8 -36.1 -22.4 -14.0 -41.7 -12.2 0
Donga -104.1 -44.5 -41.9 -23.2 7.4 -15.0 102.6 123.0 -4.2 0
Littoral 88.0 -44.2 19.9 -30.6 -32.2 -1.4 -10.8 -20.0 31.5 0
Mono -49.6 181.2 -32.4 -41.5 -10.4 -11.5 -9.7 -24.8 -1.4 0
Oueme 265.4 -70.4 0.2 -91.8 -28.3 -9.2 -19.5 -51.2 4.9 0
Plateau -55.8 -23.3 212.0 -51.0 -19.8 -9.3 -10.9 -32.3 -9.5 0
Zou 337.9 -51.9 -72.1 -75.3 -41.1 -25.6 -16.0 -47.8 -8.0 0
Sum 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0

Chi2 par cellule

Chi_2 = (Nij-Nij)2 / Nij
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 150.1 65.9 59.6 190.3 69.1 13.4 13.9 717.4 4.2 1283.8
Atacora 139.6 69.2 53.3 650.1 0.6 613.0 6.3 2.6 4.7 1539.3
Atlantique 160.5 20.3 13.5 36.5 15.1 3.0 1.4 15.8 9.5 275.6
Borgou 159.2 78.0 23.6 373.8 414.3 0.1 1.5 1.0 0.5 1051.8
Collines 6.9 47.6 460.0 67.3 2.4 0.7 11.2 42.7 1.0 639.8
Couffo 92.6 2119.2 35.3 65.8 31.7 22.4 14.0 41.7 12.2 2435.0
Donga 88.8 44.5 33.2 12.2 2.0 15.0 1118.1 539.5 2.2 1855.4
Littoral 33.5 23.2 4.0 11.2 19.9 0.1 6.6 7.6 63.6 169.7
Mono 19.6 717.4 19.3 37.8 3.8 8.5 9.7 21.4 0.2 837.7
Oueme 277.9 53.7 0.0 91.8 14.0 2.7 19.5 45.0 1.4 506.1
Plateau 22.1 10.6 736.8 51.0 12.4 5.0 10.9 32.3 9.5 890.6
Zou 548.5 35.5 57.7 75.3 35.8 25.6 16.0 47.8 4.6 846.9
Sum 1699.3 3284.9 1496.3 1663.1 621.0 709.6 1229.1 1514.7 113.6 12331.6

Contributions au chi2

% du chi_2 total du tableau (contribution)
Fon Adja Yoruba Bariba Peul Ottamari Yoa Dendi Autres Sum
Alibori 1.22 0.53 0.48 1.54 0.56 0.11 0.11 5.82 0.03 10.41
Atacora 1.13 0.56 0.43 5.27 0.00 4.97 0.05 0.02 0.04 12.48
Atlantique 1.30 0.16 0.11 0.30 0.12 0.02 0.01 0.13 0.08 2.23
Borgou 1.29 0.63 0.19 3.03 3.36 0.00 0.01 0.01 0.00 8.53
Collines 0.06 0.39 3.73 0.55 0.02 0.01 0.09 0.35 0.01 5.19
Couffo 0.75 17.18 0.29 0.53 0.26 0.18 0.11 0.34 0.10 19.75
Donga 0.72 0.36 0.27 0.10 0.02 0.12 9.07 4.38 0.02 15.05
Littoral 0.27 0.19 0.03 0.09 0.16 0.00 0.05 0.06 0.52 1.38
Mono 0.16 5.82 0.16 0.31 0.03 0.07 0.08 0.17 0.00 6.79
Oueme 2.25 0.44 0.00 0.74 0.11 0.02 0.16 0.37 0.01 4.10
Plateau 0.18 0.09 5.97 0.41 0.10 0.04 0.09 0.26 0.08 7.22
Zou 4.45 0.29 0.47 0.61 0.29 0.21 0.13 0.39 0.04 6.87
Sum 13.78 26.64 12.13 13.49 5.04 5.75 9.97 12.28 0.92 100.00

CORRELATIONS

Corrélations entre les profils colonnes

Loading required package: ggplot2
Registered S3 method overwritten by 'GGally':
  method from   
  +.gg   ggplot2

Corrélations entre les profils lignes

Analyse Factorielle des Correspondances (AFC)

Elle est facile à réaliser à l’aide de la fonction CA() du packageFactomineR:

Valeurs propres

Tableau des valeurs propres
Valeur propre % variance % variance cumulée
dim 1 0.65 35.67 35.67
dim 2 0.49 26.64 62.32
dim 3 0.29 15.86 78.18
dim 4 0.24 12.94 91.12
dim 5 0.10 5.47 96.59
dim 6 0.05 2.58 99.18
dim 7 0.01 0.74 99.91
dim 8 0.00 0.09 100.00

Relation des colonnes avec les facteurs

Relations entre colonnes et facteurs
coo_1 ctr_1 cos2_1 coo_2 ctr_2 cos2_2 coo_3 ctr_3 cos2_3
Fon -0.38 7.56 0.20 -0.63 28.81 0.56 0.02 0.05 0.00
Adja -1.39 37.51 0.50 1.38 49.75 0.50 0.01 0.00 0.00
Yoruba -0.24 1.37 0.04 -0.53 8.72 0.19 0.02 0.02 0.00
Bariba 1.11 23.81 0.63 0.47 5.69 0.11 -0.70 21.35 0.25
Peul 0.75 6.87 0.49 0.30 1.46 0.08 -0.12 0.38 0.01
Ottamari 0.66 2.85 0.18 0.08 0.05 0.00 -0.99 14.52 0.40
Yoa 0.92 3.50 0.13 0.25 0.34 0.01 2.08 40.18 0.64
Dendi 1.16 16.52 0.48 0.52 4.48 0.10 0.92 23.50 0.30
Autres -0.05 0.01 0.00 -0.38 0.70 0.20 -0.01 0.00 0.00

Relation des lignes avec les facteurs

Relations entre lignes et facteurs
coo_1 ctr_1 cos2_1 coo_2 ctr_2 cos2_2 coo_3 ctr_3 cos2_3
Alibori 1.22 17.50 0.60 0.57 5.12 0.13 0.21 1.14 0.02
Atacora 1.05 13.67 0.39 0.38 2.41 0.05 -1.02 29.26 0.37
Atlantique -0.23 0.94 0.15 -0.42 4.39 0.52 0.04 0.08 0.01
Borgou 0.90 13.46 0.56 0.34 2.60 0.08 -0.40 5.88 0.11
Collines -0.17 0.34 0.02 -0.57 5.29 0.27 0.12 0.38 0.01
Couffo -1.50 26.86 0.49 1.55 38.08 0.51 0.01 0.00 0.00
Donga 1.12 10.10 0.24 0.44 2.09 0.04 1.87 63.17 0.67
Littoral -0.13 0.26 0.07 -0.38 2.94 0.57 -0.04 0.04 0.00
Mono -1.11 10.15 0.53 1.03 11.78 0.46 -0.01 0.00 0.00
Oueme -0.36 2.09 0.18 -0.69 10.62 0.69 -0.02 0.01 0.00
Plateau -0.38 1.31 0.06 -0.55 3.75 0.14 -0.01 0.00 0.00
Zou -0.49 3.33 0.17 -0.77 10.94 0.42 0.03 0.03 0.00

Classification Ascendante Hiérarchique (CAH)

On peut poursuivre l’analyse en réalisant une classificiation des départements ou des langues en fonction de leur ressemblance selon le critère de Ward.

Classification des colonnes

$`1`
            Intern %    glob % Intern freq Glob freq        p.value     v.test
Couffo     51.518692  7.741173         441        524  0.000000e+00        Inf
Mono       26.518692  5.347910         227        362 1.897953e-120  23.336315
Plateau     3.271028  5.997932          28        406  1.674452e-04  -3.763659
Atlantique  6.542056 11.833358          56        801  6.242010e-08  -5.411726
Littoral    4.672897  9.838972          40        666  5.606620e-09  -5.828087
Zou         2.803738  8.863939          24        600  8.057125e-14  -7.469384
Collines    1.285047  7.918452          11        536  1.097962e-19  -9.078782
Oueme       2.570093 10.799232          22        731  1.804648e-21  -9.515717
Donga       0.000000  5.200177           0        352  1.088329e-21  -9.568153
Alibori     0.000000  7.696853           0        521  2.386416e-32 -11.841329
Atacora     0.000000  8.080957           0        547  5.133099e-34 -12.159084
Borgou      0.817757 10.681046           7        723  1.136753e-34 -12.281637

$`2`
            Intern %    glob % Intern freq Glob freq        p.value     v.test
Oueme      13.518198 10.799232         702        731  1.391331e-51  15.110003
Zou        11.091854  8.863939         576        600  9.206876e-42  13.538972
Atacora     9.801656  8.080957         509        547  9.871176e-26  10.487396
Collines    9.589832  7.918452         498        536  1.011788e-24  10.265136
Plateau     7.279029  5.997932         378        406  3.092329e-19   8.965373
Borgou     12.266513 10.681046         637        723  4.526373e-16   8.123578
Atlantique 13.421914 11.833358         697        801  1.206317e-14   7.715370
Littoral   11.284421  9.838972         586        666  1.680238e-14   7.672997
Alibori     5.911804  7.696853         307        521  6.601262e-21  -9.379936
Mono        2.522627  5.347910         131        362  2.862359e-64 -16.926645
Donga       1.713846  5.200177          89        352  2.442009e-98 -21.046887
Couffo      1.598305  7.741173          83        524 7.052793e-212 -31.065469

$`3`
             Intern %    glob % Intern freq Glob freq        p.value     v.test
Donga      36.5277778  5.200177         263        352 9.861880e-196  29.846106
Alibori    29.7222222  7.696853         214        521  1.010316e-81  19.147764
Atacora     5.2777778  8.080957          38        547  2.856959e-03  -2.982724
Littoral    5.5555556  9.838972          40        666  1.845880e-05  -4.282761
Collines    3.7500000  7.918452          27        536  2.752571e-06  -4.688469
Atlantique  6.6666667 11.833358          48        801  1.799179e-06  -4.774764
Mono        0.5555556  5.347910           4        362  2.477427e-13  -7.320124
Plateau     0.0000000  5.997932           0        406  6.544192e-21  -9.380852
Couffo      0.0000000  7.741173           0        524  3.990442e-27 -10.786417
Oueme       0.9722222 10.799232           7        731  4.585268e-28 -10.983553
Zou         0.0000000  8.863939           0        600  3.402174e-31 -11.616388

attr(,"class")
[1] "descfreq" "list"    

Classification des lignes

$`1`
           Intern %    glob % Intern freq Glob freq       p.value     v.test
Adja     75.3950339 12.645886         668        856 0.000000e+00        Inf
Autres    0.7900677  2.334170           7        158 4.390244e-04  -3.515441
Yoa       0.0000000  2.673955           0        181 1.297195e-11  -6.768951
Peul      2.5959368  7.844586          23        531 3.900167e-12  -6.940753
Ottamari  0.4514673  4.269464           4        289 3.693630e-13  -7.266338
Yoruba    5.4176072 15.024376          48       1017 2.986792e-21  -9.463193
Dendi     0.4514673  7.962771           4        539 2.578396e-28 -11.035422
Fon      14.4469526 34.687546         128       2348 4.968323e-47 -14.402808
Bariba    0.4514673 12.557246           4        850 1.007261e-48 -14.669743

$`2`
          Intern %    glob % Intern freq Glob freq        p.value     v.test
Fon      56.363636 34.687546        2108       2348  0.000000e+00        Inf
Yoruba   23.368984 15.024376         874       1017 2.524947e-112  22.522036
Autres    3.288770  2.334170         123        158  3.703079e-09   5.896938
Ottamari  2.887701  4.269464         108        289  6.530981e-10  -6.177051
Yoa       1.336898  2.673955          50        181  4.401428e-14  -7.548546
Peul      3.502674  7.844586         131        531  5.136219e-50 -14.870327
Dendi     1.925134  7.962771          72        539  1.706189e-98 -21.063878
Adja      4.839572 12.645886         181        856 3.880675e-105 -21.776442
Bariba    2.486631 12.557246          93        850 7.089988e-184 -28.918006

$`3`
           Intern %    glob % Intern freq Glob freq        p.value    v.test
Bariba   35.1376575 12.557246         753        850 9.958527e-305  37.31338
Dendi    21.6052263  7.962771         463        539 1.864008e-164  27.33006
Peul     17.5921605  7.844586         377        531  8.336139e-84  19.39603
Yoa       6.1129258  2.673955         131        181  1.013688e-29  11.32264
Ottamari  8.2594494  4.269464         177        289  7.297692e-26  10.51590
Autres    1.3065796  2.334170          28        158  9.517288e-05  -3.90258
Yoruba    4.4330378 15.024376          95       1017  2.780261e-73 -18.10751
Adja      0.3266449 12.645886           7        856 5.319159e-139 -25.09733
Fon       5.2263182 34.687546         112       2348 5.780234e-317 -38.06046

attr(,"class")
[1] "descfreq" "list"